<?php
namespace backend\logic\obj;

use backend\models\HouseFasility;
use Yii;

/**
 *房源对象，
 * 本身具备房源本该有的属性，属性对象和方法
 * 能力表现：
 * 1.能够创建房源
 * 2.能够展示房源（各种方式的展示，比如展示房源这一级别的信息，展示房源里面房子具体信息，展示房东房源信息...）
 */
class HouseResource
{
    protected static $instance;

    public static function getInstance($config = [])
    {
        self::$instance || self::$instance = new self($config);
        return self::$instance;
    }
    public $id;  //房源id
    public $landlord;  //房东uid
    public $names; //'房源名称，可用来当标签分类的',
    public $address; // '房源地址',
    public $house_type; //'房屋户型信息，3,2,2 表示3室2厅1卫。值得注意的是后面可以依次拓展，3,2,2,1..',',
    public $door_num; //''表示栋房源的的房子的门牌号，能够在已知的某一栋楼中找到某一套房子',
    public $orientation; //'房屋朝向',
    public $house_space; //'房源面积大小',
    public $floor_num; //'具体楼层 例如   6,3  表示总共6层在第三层',
    public $area; //'房源所属  区域分组',
    public $remark; //'套房备注信息',

    public $cost; //'房源所产生费用的费用对象，用于专属与房源费用对接的一个对象',
    public $img; //'房源的图片对象，用于专属对接此房源所属的房源图片信息的对象',
    public $fasility; //房源配置对象
    public $HouseResouceType; //初始化时传进来的是0，1；由专门的一个方法来创建此对象,具体的房源类型对象，


    public function init()
    {

    }
    /**
     * 根据$HouseResouceType 传进来的初始值，创建出具体房源类型对象
     * 此房源类型对象应当明确具备以下能力
     * 1.创建房源的风格方式（比如说是创建一栋房源，还是一层房源，还是一个房源）
     * @access public
     * @param mixed $arg1 参数一的说明
     * @param mixed $mixed 这是一个混合类型
     * @return array 返回类型
     */
    public function createHouseResouceType()
    {

    }
    /**
     * 创建属于房东的房源
     * 此方法不管任何逻辑，
     * 只负责创建属于房东的房源记录信息
     * @access public
     * @param mixed $arg1 参数一的说明
     * @param mixed $mixed 这是一个混合类型
     * @return array 返回类型
     */
    public function createHouseResouce()
    {

    }
}
